package com.heliang.dataaccess.dao;

import java.util.List;

import com.heliang.dataaccess.bean.InfoBean;
import com.hl.component.exception.DaoException;

/**
 * 
 * @ClassName:     InfoDao.java
 * @Description:   资讯信息操作
 * 
 * @author         heliang
 * @version        V1.0  
 * @Date           2013-10-5 下午6:04:54
 */
public interface InfoDao {
	/**
	 * 
	 * @Description:  根据ID数组删除资讯
	 * @param:        @param idArrays
	 * @param:        @return    
	 * @return:       boolean    
	 * @throws 
	 * @author        heliang
	 * @Date          2013-10-5 下午6:06:26
	 */
	public boolean deleteInfoByIds(Integer[] idArrays)throws DaoException;
	
	/**
	 * 
	 * @Description:  批量新增资讯
	 * @param:        @param infoBeans
	 * @param:        @return    
	 * @return:       boolean    
	 * @throws 
	 * @author        heliang
	 * @Date          2013-10-5 下午6:07:58
	 */
	public boolean saveInfos(List<InfoBean> infoBeans)throws DaoException;
	
	   /**
     * 删除数据
     * @param type  用于区别首页与非首页资讯,1是首页，0是非首页
     * @param catId 分类ID
     * @param idArray
     * @return
     */
    public boolean delete(int type,int catId,Integer[] idArray)throws DaoException;
    
    /**
     * 获取记录总数
     * @param type  类型，1为首页，0为非首页
     * @param catId 分类ID
     * @return
     */
    public int queryInfoCount(int type,int catId)throws DaoException;
    
    /**
     * 删除最旧的n数据，包括图片附件
     * @param n
     * @return
     */
    public boolean deleteOldest(int type,int catId,int n)throws DaoException;
    
    /**
     * 查询数据
     * @param type 用于区别首页与非首页资讯,1是首页，0是非首页
     * @param catId 分类ID
     * @return
     */
    public List<InfoBean> query(int type, int catId)throws DaoException;
	
    /**
     * 修改资讯是否已读的状态
     * @param id
     * @param isRead
     * @return
     */
    public boolean updateInfoBean(InfoBean infoBean)throws DaoException;
	
}
